1. Field of the Invention
The present invention relates to a resource allocation apparatus, method, and computer readable medium thereof; specifically, it relates to a resource allocation apparatus, method, and computer readable medium thereof for transmitting a plurality of data streams to a plurality of receiving ends via a network resource, each of the receiving ends having a subscribing status.
2. Descriptions of the Related Art
With the progress of technologies, nowadays people are able to exchange information through the Internet easily. However, wired networks provide limited number of access locations and unstable transmission quality due to their physical layouts. Consequently, wireless networks with mobility and convenience rise thereby. According to transmission distances, wireless networks are classified into Wireless Local Networks (WLANs), Wireless Metropolitan Area Networks (WMANs), and Wireless Wide Area Networks (WWANs). People in this industry, the government, and the academia establish various kinds of transmission protocols for different wireless networks, for example, a Wireless Fidelity (Wi-Fi) standard for the WLAN, a Worldwide Interoperability for Microwave Access (WiMAX) multicast, standard for the WMAN, and a third generation (3G) wireless communication technique for the WWAN.
Compared with wired networks, bandwidths provided by wireless networks are much more limited. Consequently, when transmitting a large amount of data via a wireless network, such as a multimedia file, a technique of layered encoding before transmission is always required. The characteristic of a typical layered encoding technique is shown in FIG. 1. The layered encoding technique divides a multimedia data stream 101 into many smaller multimedia streams, i.e., many data, layers 103. Each of the data layers 103 is a data layer with different finenesses of a frame of the multimedia data stream 101. For a more detailed description, the data layers 103 comprises data layers 103a, 103b, 103c, and 103d, wherein data in the data layer 103a is a most rough one, and the data layers 103b, 103c, and 103d comprise different levels of finer data, respectively. To be more specific, with only the data layer 103a, a user can only see a most rough frame; with the additional data layer 103b, a user is able to see a slightly clearer and finer frame, and so on. That is, with different numbers of data layers, a frame with various qualities can be generated. Therefore, a transmitting end 11 can transmit, various numbers of data layers according to channel qualities of client ends 131, 133, and 135. For example, if a channel 102 of the client end 133 has a best quality, all the data layers 103a, 103b, 103c, and 103d can be received by the client end 133. If a channel 104 of the client end 135 has a second best, quality, data layers 103a, 103b and 103c can be received by the client end 135. If a channel 100 of the client end 131 has a worse quality, only data layers 103a and 103b can be received by the client end 131. In other words, client ends 131, 133, and 135 determines different combinations of the data layers according to the corresponding channel statuses or network qualities to obtain different qualities of the frame. By the layered encoding technique, multimedia services provided by the transmission end 11 become more flexible.
Currently, most wireless network standards support multicast. The multicast means that a receiving end can subscribe different programs (i.e. aforementioned data streams) from transmitting ends of certain groups. For example, with the characteristics of high speed transmission and wide range of WiMAX, a burst profile of a lowest bit rate of the same multicast group can be used to make all users in the group receive the data. Targets of multicast can be tens or even hundreds of users. In a multicast environment, the layered coding technique becomes more important.
Although the WiMAX specification supports a layered encoding mechanism to transmit each data layer to the client ends according to various channel statuses, it does not address multicast related mechanisms of the upper layers, such, as group management, resource allocation, etc. Consequently, it is unable to analyze an internal flow rate of the network or a bandwidth ratio occupied by the protocol. Therefore, it is unable to precisely determine and locate problems while the network is abnormal.
Meantime, the flows of all client ends are concentrated on a channel. If the network resources are allocated according to a first come first service manner, some client ends may occupy most of the bandwidth and obtain complete information, while other client ends can not even obtain basic information. The situation makes the allocation of the network resources unreasonable. Even more, uncontrollable flows may often occur while the network is transmitting data. If it is unable to perform efficient bandwidth management for all client ends, resource access speeds of other client ends may be influenced.
According to the aforementioned description, current network transmission techniques do not provide any policy to allocate bandwidth for each user and each service stream while performing unicast, multicast or broadcast. Consequently, how to define a mechanism for network resource allocation management in order to achieve a reasonable bandwidth, flow, resource allocation, and dynamic adjustment according to various conditions is still an object for the industry to endeavor.